package utiles;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;

public class FourmizLogger {

    public static void debug(Object o, Object msg)
    {
    	DOMConfigurator.configure("log4j.xml");
    	Logger.getLogger(o.getClass()).debug(msg);
    }
    
    /**
     * Surcharge des logs pour afficher la trace d'erreur d'une exception
     * @param o le premier objet à l'initiative de l'information
     * @param e l'exception levée
     */
    public static void debug(Object o, Exception e)
    {
        e.printStackTrace();
        FourmizLogger.debug(o, (Object)e);
    }
    
    public static void info(Object o, Object msg)
    {
        DOMConfigurator.configure("log4j.xml");
    	Logger.getLogger(o.getClass()).info(msg);
    }
    
    /**
     * Surcharge des logs pour afficher la trace d'erreur d'une exception
     * @param o le premier objet à l'initiative de l'information
     * @param e l'exception levée
     */
    public static void info(Object o, Exception e)
    {
        e.printStackTrace();
        FourmizLogger.info(o, (Object)e);
    }
    
    public static void warn(Object o, Object msg)
    {
        DOMConfigurator.configure("log4j.xml");
    	Logger.getLogger(o.getClass()).warn(msg);
    }
    
    /**
     * Surcharge des logs pour afficher la trace d'erreur d'une exception
     * @param o le premier objet à l'initiative de l'information
     * @param e l'exception levée
     */
    public static void warn(Object o, Exception e)
    {
        e.printStackTrace();
        FourmizLogger.warn(o, (Object)e);
    }
    
    public static void error(Object o, Object msg)
    {
        DOMConfigurator.configure("log4j.xml");
    	Logger.getLogger(o.getClass()).error(msg);
    }
    
    /**
     * Surcharge des logs pour afficher la trace d'erreur d'une exception
     * @param o le premier objet à l'initiative de l'information
     * @param e l'exception levée
     */
    public static void error(Object o, Exception e)
    {
        e.printStackTrace();
        FourmizLogger.error(o, (Object)e);
    }
    
    public static void fatal(Object o, Object msg)
    {
        DOMConfigurator.configure("log4j.xml");
    	Logger.getLogger(o.getClass()).fatal(msg);
    }
    
    /**
     * Surcharge des logs pour afficher la trace d'erreur d'une exception
     * @param o le premier objet à l'initiative de l'information
     * @param e l'exception levée
     */
    public static void fatal(Object o, Exception e)
    {
        e.printStackTrace();
        FourmizLogger.fatal(o, (Object)e);
    }
}
